﻿using Seg.Entidades;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace Seg.Datos
{
    public class PerfilOpcionDatos
    {
        BD_SEGEntities context = new BD_SEGEntities();

        public int Eliminar(int idOpcion, int idPerfil)
        {
            var objUpd = context.PerfilOpcion.Where(x =>
                ((x.CodigoOpcion == idOpcion)
                && x.CodigoPerfil == idPerfil)).FirstOrDefault();
            var r = context.SaveChanges();
            return r;
        }
        public List<PerfilOpcion> Listar(decimal CodigoSistema, decimal CodigoModulo, int CodigoPerfil)
        {
            var datos = new List<Seg.Entidades.PerfilOpcion>();

            datos = context.PerfilOpcion.Where(x =>
                ((x.Perfil.Modulo.CodigoSistema == CodigoSistema)
                && (x.Perfil.Modulo.CodigoModulo == CodigoModulo)
                && (x.CodigoPerfil == CodigoPerfil))
                ).ToList();

            return datos;
        }
        public int Insertar(PerfilOpcion entidad)
        {
            context.PerfilOpcion.Add(entidad);
            context.SaveChanges();
            return 1;
        }
        
        public List<PerfilOpcion> PerfilOpcionXCodigo(int CodigoPerfil)
        {
            var datos = context.PerfilOpcion.Where(x =>
                ((x.CodigoPerfil == CodigoPerfil)
                && (x.Anulado == false))
            ).ToList();

            return datos;
        }
        public List<SEGSS_PERFILOPCION_X_OPCION_Result> PerfilXCodigoOpcion(string Nombre, int CodigoPerfil)
        {
            var datos = context.SEGSS_PERFILOPCION_X_OPCION(Nombre, CodigoPerfil).ToList();
            return datos;
        }
        public PerfilOpcion PerfilOpcionXOpc(int CodigoOpcion)
        {
            var datos = context.PerfilOpcion.Where(x =>
                ((x.CodigoOpcion == CodigoOpcion))
            ).FirstOrDefault();
            return datos;
        }

        public List<SEGSS_OPCIONES_MENU_Result> OpcionesPerfil(int  CodigoPerfilUsuario, int CodigoPerfil)
        {
            return context.SEGSS_OPCIONES_MENU(CodigoPerfilUsuario, CodigoPerfil).ToList();
        }


    }
}
